package com.mhkj.supervise.entity;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.mhkj.revise.plan.entity.PlanNode;
import com.mics.core.system.base.entity.BaseDomain;
import com.mics.core.system.base.entity.FileEntity;

@Entity
@Table(name = "t_supervise_problem")
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "planNode" })
public class SuperviseProblem extends BaseDomain  {

	
	/**
	 * 序号
	 */
	private static final long serialVersionUID = 2790470401024008049L;
	/**
	 * 计划节点
	 */
	@JoinColumn(name = "plan_node_id")
	@ManyToOne
	private PlanNode planNode;
	/**
	 * 问题
	 */
	@Column(name = "problem",length=550) 
	private String problem;
	
	
	/**
	 * 备注
	 */
	@Column(name = "remark",length=550) 
	private String remark;
	
	

	/**
	 * 文件地址(多条以逗号','隔开)
	 */
	@Transient
	private String fileUrl;

	/**
	 * 文件名称(多条以逗号','隔开)
	 */
	@Transient
	private String fileName;

	/**
	 * 附件集合
	 */
	@Transient
	private List<FileEntity> listFile;

	
	
	
	/**
	 * 状态(0:未上报,1:已经上报)
	 */
	@Column(name = "status") 
	private Integer status=0;
	
	@Transient
	private Long planNodeId;
	
	@Transient
	private String createName;
	
	@Transient
	private String exeName;
	
	@Transient
	private String planType;
	
	@Transient
	private String planName;
	
	@Transient
	private Integer planState;
	
	@Transient
	private Integer riskState;
	
	@Transient
	private Long itemId;
	@Transient
	private String itemName;
	@Transient
	private Date startTime;
	@Transient
	private Date endTime;
	
	@Transient
	private List<SuperviseProblemScheme> listsp;
	
	
 
	public Integer getRiskState() {
		return riskState;
	}
	public void setRiskState(Integer riskState) {
		this.riskState = riskState;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public String getFileUrl() {
		return fileUrl;
	}
	public void setFileUrl(String fileUrl) {
		this.fileUrl = fileUrl;
	}
	public String getFileName() {
		return fileName;
	}
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
	public List<FileEntity> getListFile() {
		return listFile;
	}
	public void setListFile(List<FileEntity> listFile) {
		this.listFile = listFile;
	}
	public Date getStartTime() {
		return startTime;
	}
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
	public Date getEndTime() {
		return endTime;
	}
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	public String getPlanType() {
		return planType;
	}
	public void setPlanType(String planType) {
		this.planType = planType;
	}
	public String getItemName() {
		return itemName;
	}
	public void setItemName(String itemName) {
		this.itemName = itemName;
	}
	public Long getItemId() {
		return itemId;
	}
	public void setItemId(Long itemId) {
		this.itemId = itemId;
	}
	public List<SuperviseProblemScheme> getListsp() {
		return listsp;
	}
	public void setListsp(List<SuperviseProblemScheme> listsp) {
		this.listsp = listsp;
	}
	public String getExeName() {
		return exeName;
	}
	public void setExeName(String exeName) {
		this.exeName = exeName;
	}
	public String getPlanName() {
		return planName;
	}
	public void setPlanName(String planName) {
		this.planName = planName;
	}
	public Integer getPlanState() {
		return planState;
	}
	public void setPlanState(Integer planState) {
		this.planState = planState;
	}
	public String getCreateName() {
		return createName;
	}
	public void setCreateName(String createName) {
		this.createName = createName;
	}
	public Long getPlanNodeId() {
		return planNodeId;
	}
	public void setPlanNodeId(Long planNodeId) {
		this.planNodeId = planNodeId;
	}
	public PlanNode getPlanNode() {
		return planNode;
	}
	public void setPlanNode(PlanNode planNode) {
		this.planNode = planNode;
	}
	public String getProblem() {
		return problem;
	}
	public void setProblem(String problem) {
		this.problem = problem;
	}
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	
	
	
}
